From e1303ecc9623ae878c9305cc268efe16e0c66330 Mon Sep 17 00:00:00 2001 From: Dirkjan Ochtman Date: Mon, 2 Oct 2017 17:54:35 +0200 Subject: [PATCH] Extract method for requiring crate features --- src/cargo/core/resolver/mod.rs | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/src/cargo/core/resolver/mod.rs b/src/cargo/core/resolver/mod.rs index 10092a563..699ea5c66 100644 --- a/src/cargo/core/resolver/mod.rs +++ b/src/cargo/core/resolver/mod.rs @@ -884,6 +884,13 @@ impl<'r> Requirements<'r> { } } + fn require_crate_feature(&mut self, package: &'r str, feat: &'r str) { + self.used.insert(package); + self.deps.entry(package) + .or_insert((false, Vec::new())) + .1.push(feat.to_string()); + } + fn add_feature(&mut self, feat: &'r str) -> CargoResult<()> { if feat.is_empty() { return Ok(()) } @@ -896,11 +903,7 @@ impl<'r> Requirements<'r> { let feat_or_package = parts.next().unwrap(); match parts.next() { Some(feat) => { - let package = feat_or_package; - self.used.insert(package); - self.deps.entry(package) - .or_insert((false, Vec::new())) - .1.push(feat.to_string()); + self.require_crate_feature(feat_or_package, feat); } None => { let feat = feat_or_package; -- 2.30.2